The invention is in the field of echo cancellers and in particular is an improved echo canceller.
It is well known that hybrid circuits connecting two wire to four wire circuits do not provide echo free coupling between the receive and send lines of the four wire circuit. A portion of the signal, typically voice signals, on the receive line will pass to the send line and appear as an echo signal. When the four wire system is used for long distance communications, such as via a submarine cable or a communications satellite, the echo signal can be particularly disturbing.
Echo suppressors are commonly used for removing the echo caused by imperfection in the hybrid or other echo path by attenuating the send line signal. One class of such suppressors operates to interrupt the send line whenever a voice level signal is detected on the receive line. This will eliminate echo but will also eliminate voice signals emanating from the local two wire circuit and therefore clip the outgoing conversation. A double talk detector is conventionally used to reduce interruption of the send line, normally caused by voice signals on the receive line, when voice signals are simultaneously emanating from the two wire circuits, i.e., speakers at both ends are talking simultaneously. However, if the speaker at the local two wire circuit is speaking softly relative to the speaker at the far end, the larger voice signal on the receive line may prevent operation of the double talk detector and thus the send line will be interrupted thereby clipping the speech on the send line. When the double talk detector does operate correctly, the echo will not be prevented during double talk, but is transmitted along with the near talker speech.
A newer class of devices for handling the echo problem is known as echo cancellers. An echo canceller does not interrupt the send line but generates an approximation, y(t), of the echo, y(t), and subtracts the former from the signal appearing on the send line. The remaining signal on the send line during double talk is S(t) + .epsilon.(t), where S(t) is the local voice signal and .epsilon.(t) is the residual error caused by y(t) not being exactly equal to y(t).
The basis of operation of echo cancellers is that the echo path may be regarded as a filter and satisfies the relation: ##EQU1## WHERE F(T) IS THE SIGNAL APPLIED TO THE ECHO PATH, K(.tau.) IS THE IMPULSE RESPONSE OF THE ECHO PATH, AND Y(T) IS THE ECHO.
In one particular implementation of the above equation, digital circuits are used. An X memory stores digitized samples of the incoming signal X( t) over a period T, and an H register stores a digital representation of the impulse response of the echo path. Both memories recirculate, but the oldest sample in the X memory is replaced each sample period by a new sample of the signal X(t). Digital convolution is performed on the contents of the two memories, i.e., the contents are multiplied, sample by sample, and the products are summed resulting in an approximation, y(t), of the echo. In one case, the impulse response of the echo path is stored in the H memory by using the search or interrogating pulse technique. That is, after the circuit is set up between caller and called stations, but before conversation begins, an artificial search or interrogating pulse is applied to the receiving line. The pulse passes through the echo path, and the resultant signal on the send line is the impulse response of the echo path. The impulse response is sampled over the period T, digitized and stored in the H register.
For a number of reasons, including the fact that the impulse response of the echo path will not be constant, the search pulse technique is not satisfactory. More recent cancellers continuously compute an impulse response that minimizes the mean squared error between y(t) and y(t). The computation circuitry includes an adaptive control loop, responsive to the residual error, .epsilon.(t), and the receive side signal x(t), for implementing the steepest-descent technique by adjusting the N samples of the H memory through incrementing or decrementing each sample by a given amount. After convergence, i.e., attainment of minimum error or echo, the contents of the H memory represent, in digital form, the impulse response of the echo path. The time of convergence and amplitude of residual echo, .epsilon.(t), are important characteristics in any canceller.
The adaptive control loop consists of a cross correlator and a corrector circuit. The cross correlator consists of two threshold detectors and a sign product generator. One threshold detector, with threshold .DELTA.1, determines if each of the samples of the receive side signal, x.sub.i, which are stored in an X memory, exceeds .DELTA.1, and if so, determines its sign. The second threshold detector, with threshold .DELTA.2, determines if the residual echo, .epsilon.(t), exceeds .DELTA.2, and subsequently determines its sign. The sign product of .epsilon.(t) and x.sub.i is then used to direct an adder of the corrector circuit to add or subtract a single bit, h, from each of the corresponding H word contents of the memory.